package pl.wroc.pwr.mss.server.ui.sliders;

import javax.swing.JSlider;

/**
 * Slider graficznie pokazujacy czas odtwarzania wybranego utworu.
 * Za jego pomoca mozna rowniez ustawiac ten czas.
 * 
 * @author mjagus
 */
public class JPlaybackSlider extends JSlider
{
    /**
     * Identyfikator klasy.
     */
    private static final long serialVersionUID = -3651027629644073631L;

    /**
     * Iniciuje komponent.
     */
    public JPlaybackSlider()
    {
        super(JSlider.HORIZONTAL, 0, 100, 0);
    }

    /**
     * Ustawia nowe granice dla tego Slidera bazujac na czasie trwania danego
     * utworu. Ustawia wartosc slidera na poczatek utworu jesli parametr
     * 'reset' przyjmuje wartosc <code>true</code>.
     * 
     * @param songTimeLength Calkowity czas trwania pewnego utworu w milisekundach
     * @param reset Decyduje czy zresestowac wartosc slidera na 0
     */
    public void initBounds(long songTimeLength, boolean reset)
    {
        super.setMinimum(0);
        super.setMaximum((int)songTimeLength);

        if(reset)
            super.setValue(0);
    }
}
